iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
AI & Data

從資料庫到資料分析視覺化系列 第 18

{DAY 18} Pandas 學習筆記part.4

  • 分享至 

  • xImage
  •  

前言

今天要接續DataFrame的介紹

這篇文章會分成兩個部分:

  1. 資料的刪除
  2. 資料的新增

會利用kaggle上的開源資料進行更多的pandas練習

Kaggle: Your Machine Learning and Data Science Community

kaggle是資料科學世界常用的開源網站

上面提供大量且即時的資料檔案可以方便學習者練習

也有教學的課程可以針對自己有興趣的方面學習

還會舉辦資料科學的相關競賽

更提供各種的討論空間讓大家可以在上面交流想法跟解決疑惑

如果想做project

上面也會有很多很好的idea可以參考

總而言之就是對想學資料科學的人來說

非常萬能的平台

看的課程還是Coursera上的 Introduction to Data Science in Python

Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera

練習是利用上述課程裡教的搭配以前在學校學過的知識

整裡並且搭配實際的資料檔

整理出來的筆記

資料的刪除

這裡練習的dataframe是沿用上篇文章裡使用到的顧客資料

先來看看dataframe原本的樣子

df

1. 使用.drop()

當我們想要刪除特定row裡的值,可以使用.drop(),這種用法是回傳刪掉特定row的新DataFrame

要注意的是並不會更動原始的資料表

假如現在不想要顧客2的資料

df.drop("customer2")

https://i.imgur.com/UeJP6BP.png

可以看到刪掉顧客二後剩下的資料

現在來檢查原本的資料表有沒有任何變化

df

原始的資料並不會因為drop.( )而改變,

但是當想要更改到資料表內的原始值

通常會在drop內加上參數,

inplace=True代表要替換到原始值,

而axis則是要更動的維度,0是row,1是column

先複製Dataframe,利用copy.( )

copy_df = df.copy()
#再來加上參數
copy_df.drop("City",inplace=True,axis=1)
copy_df

可以看到成功刪除"City"的column

2. 使用del

第二種可以直接透過indexing operator刪除的方式,利用del

del copy_df["Age"]
copy_df


這個方法會直接更改到原始的資料

資料的新增

如果想要新增column,可以直接使用[ ]

[ ] 裡可以放指定的list,或是統一的值

假如現在想要放每個顧客購買的品項

先建立一個資料值全為null的column

df["Items"] = None
df

現在利用list指定每個顧客買的商品品項

df["Items"] = ["computer","headphone","water bottle"]
df

可以看到成功加上每個顧客購買的品項

小結

今天練習的部分處理到資料的新增或刪除

要很小心的是

在pandas裡有些資料的語法雖然用途一樣

但有的可能會更動到原始dataframe,有的不會

像是有的會直接複製一個新的dataframe進行指定操作再回傳

有的則是會更新到原始資料

所以根據想要操作的方式

需要搭配不同的語法

在練習的時候也要格外小心該語法是否會更動到資料的原始數值

記得使用這個參數:inplace=True


上一篇
{DAY 17} Pandas 學習筆記part.3
下一篇
{DAY 19} Pandas 學習筆記part.5
系列文
從資料庫到資料分析視覺化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言